﻿// License: https://opensource.org/licenses/MIT
// Create Date : 2018-01-01

using System;

namespace Cat.Core
{
    // 本文件从 ILogger.tt 生成，请勿直接修改
    /// <summary>
    /// 日志记录接口
    /// </summary>
    public interface ILogger
    {
        void D(object message);
        void D(string format, object arg0);
        void D(string format, object arg0, object arg1);
        void D(string format, object arg0, object arg1, object arg2);
        void D(string format, params object[] args);
        void D(Exception exception, object message);
        void D(Exception exception, string format, object arg0);
        void D(Exception exception, string format, object arg0, object arg1);
        void D(Exception exception, string format, object arg0, object arg1, object arg2);
        void D(Exception exception, string format, params object[] args);

        void I(object message);
        void I(string format, object arg0);
        void I(string format, object arg0, object arg1);
        void I(string format, object arg0, object arg1, object arg2);
        void I(string format, params object[] args);
        void I(Exception exception, object message);
        void I(Exception exception, string format, object arg0);
        void I(Exception exception, string format, object arg0, object arg1);
        void I(Exception exception, string format, object arg0, object arg1, object arg2);
        void I(Exception exception, string format, params object[] args);

        void W(object message);
        void W(string format, object arg0);
        void W(string format, object arg0, object arg1);
        void W(string format, object arg0, object arg1, object arg2);
        void W(string format, params object[] args);
        void W(Exception exception, object message);
        void W(Exception exception, string format, object arg0);
        void W(Exception exception, string format, object arg0, object arg1);
        void W(Exception exception, string format, object arg0, object arg1, object arg2);
        void W(Exception exception, string format, params object[] args);

        void E(object message);
        void E(string format, object arg0);
        void E(string format, object arg0, object arg1);
        void E(string format, object arg0, object arg1, object arg2);
        void E(string format, params object[] args);
        void E(Exception exception, object message);
        void E(Exception exception, string format, object arg0);
        void E(Exception exception, string format, object arg0, object arg1);
        void E(Exception exception, string format, object arg0, object arg1, object arg2);
        void E(Exception exception, string format, params object[] args);

        void F(object message);
        void F(string format, object arg0);
        void F(string format, object arg0, object arg1);
        void F(string format, object arg0, object arg1, object arg2);
        void F(string format, params object[] args);
        void F(Exception exception, object message);
        void F(Exception exception, string format, object arg0);
        void F(Exception exception, string format, object arg0, object arg1);
        void F(Exception exception, string format, object arg0, object arg1, object arg2);
        void F(Exception exception, string format, params object[] args);

    }
}
